<INPUT TYPE=hidden NAME=state VALUE="hidden info to be returned with form">By now, most browsers can handle the hidden type, but understand that some browsers will fail to hide the field (and probably confuse the user). Note that "hidden" doesn't mean "secret"; the user can always click on "view source."
The ugliness of a "hidden" field appearing on a browser that doesn't understand hidden fields can be minimized by setting SIZE=0 for that attribute.
http://mysite.com/cgi-bin/mycgi
But you open the following URL instead:
http://mysite.com/cgi-bin/mycgi/Bob/27
The program "mycgi" will still be executed -- and the environment
variable PATH_INFO will contain the text /Bob/27
. You
can take advantage of this by always outputting URLs that contain
the state information you are trying to keep from one call to the next.
Keep in mind that URLs are limited to 1024 characters; browsers are not required to cope with more than that. If you need more, or dislike long URLs, simply keep the name of a temporary file in the PATH_INFO section of the URL and store information about that session in the temporary file.
See Netscape's Cookie Specification Page <URL:http://www.netscape.com/newsref/std/cookie_spec.html> for more information.